package jus.poc.prodcons.v1;

import java.text.SimpleDateFormat;
import java.util.Date;
import jus.poc.prodcons.*;

/**
 * MessageX est une implémentation d'un message quelqonque transmissible.
 *
 * @author Nunes Thomas <nds.thomas@gmail.com>
 * @author Feng Xu <fengxu1989@gmail.com>
 */
public class MessageX implements Message {

    private static int nbMessages = 1;
    private int id;
    private String auteur;
    private String consommateur;
    private Date dateEnvoi;
    private Date dateReception;

    /**
     * Crée un message standard daté.
     *
     * @param auteur
     */
    public MessageX(String auteur) {
        id = nbMessages;
        nbMessages++;
        this.auteur = auteur;
        dateEnvoi = new Date(1);
        dateReception = new Date(1);
        consommateur = "<INCONNU>";
    }

    @Override
    public String toString() {
        SimpleDateFormat formatDate = new SimpleDateFormat("' le' MM/dd/yyyy HH:mm:ss:SSS");
        return (id() + formatDate.format(dateEnvoi) + "| De : " + auteur + " -----> "
                + consommateur + formatDate.format(dateReception));
    }

    public String id() {
        return "N°:" + id;
    }

    public void setDate(Date dateEnvoi) {
        this.dateEnvoi = dateEnvoi;
    }

    public void setRecu(Date dateReception) {
        this.dateReception = dateReception;
    }

    public void setConsommateur(String c) {
        consommateur = c;
    }
}
